package com.sundablog.service.systemsetup.permissionsManage.role;

import java.util.List;

import com.sundablog.pojo.AdminRole;
import com.sundablog.pojo.AdminUserRole;
import com.sundablog.result.LayUiResult;

/**
 * 角色接口定义类
 * @ClassName:  RoleService   
 * @Description:角色接口定义类   
 * @author: 哒哒 
 * @date:   2018年1月31日 下午2:08:19   
 *     
 * @Copyright: 2018 www.sundablog.com Inc. All rights reserved.
 */
public interface RoleService {

	/**
	 * 分页查询
	 * @Title: findPagingQuery   
	 * @Description: 分页查询  
	 * @param: @param page
	 * @param: @param limit
	 * @param: @return      
	 * @return: LayUiResult      
	 * @throws
	 */
	LayUiResult findPagingQuery(int page, int limit);

	/**
	 * 添加一条角色
	 * @Title: addRole   
	 * @Description: 添加一条角色   
	 * @param: @param adminRole
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int addRole(AdminRole adminRole,String zTreeResults);
	/**
	 * 根据id查询一条数据
	 * @Title: selectAdminRoleById   
	 * @Description:根据id查询一条数据   
	 * @param: @param id
	 * @param: @return      
	 * @return: AdminRole      
	 * @throws
	 */
	AdminRole selectAdminRoleById(int id);
	/**
	 * 修改一条数据
	 * @Title: updataAdminRole   
	 * @Description:修改一条数据  
	 * @param: @param adminRole
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int updataAdminRole(AdminRole adminRole,String zTreeResults);
	/**
	 * 根据id删除一条数据
	 * @Title: delectAdminRoleById   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param id
	 * @param: @return      
	 * @return: int      
	 * @throws
	 */
	int delectAdminRoleById(int id);
	
	/**
	 * 查询全部角色
	 * @Title: selectRole   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @return      
	 * @return: List<AdminRole>      
	 * @throws
	 */
	List<AdminRole> selectRole();
	
	/**
	 * 根据用户id 查询用户角色关联表数据
	 * @Title: selectByUserId   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @return      
	 * @return: AdminUserRole      
	 * @throws
	 */
	AdminUserRole selectByUserId(int userId);
	
	/**
	 * 根据角色id 获取userId
	 * @Title: selectByRoleId   
	 * @Description: TODO(这里用一句话描述这个方法的作用)   
	 * @param: @param roleId
	 * @param: @return      
	 * @return: AdminUserRole      
	 * @throws
	 */
	List<AdminUserRole> selectByRoleId(int roleId);
}
